package com.example.no1admin.service;

import com.example.no1admin.pojo.dto.album.AlbumAddNewDTO;
import com.example.no1admin.pojo.dto.album.AlbumEditDTO;
import com.example.no1admin.pojo.dto.picture.PictureAddNewDTO;
import com.example.no1admin.pojo.dto.picture.PictureEditDTO;
import com.example.no1admin.pojo.vo.album.AlbumListItemVO;
import com.example.no1admin.pojo.vo.picture.PictureListItemVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface IPictureService {

    /**
     * 创建图片
     * @param partFile  创建的图片数据
     */
    String addNew(MultipartFile partFile,Long albumId);

    /**
     * 创建轮播图
     * @param partFile  创建的图片数据
     */
    String addBanner(MultipartFile partFile);
    /**
     * 根据图片name删除对应的图片数据
     * @param name 图片名字
     */
    void deleteByName(String name);
    /**
     * 根据图片id删除对应的图片数据
     * @param id 图片名字
     */
    void deleteById(Long id);

    /**
     * 根据id修改图片数据
     * @param pictureEditDTO 修改的图片数据
     * @return 受影响的行数，当修改成功时，将返回1，如果无此id对应的数据，将返回0
     */
    void updateById(PictureEditDTO pictureEditDTO);

    /**
     *查询图片列表
     * @return 图片列表的集合
     */
    List<PictureListItemVO> list();

    /**
     * 根据相册id查询图片列表
     * @param AlbumId
     * @return
     */
    List<PictureListItemVO> listByAlbum(Long AlbumId);

    /**
     * 根据相册name查询图片列表
     * @param AlbumName 相册name
     * @return
     */
    List<PictureListItemVO> listByAlbumName(String AlbumName);
}
